/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sv.com.intesal.seguridad.controlador;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import sv.com.intesal.clases.abstracts.ControladorAbstract;
import sv.com.intesal.seguridad.bean.TipoBitacora;
import sv.com.intesal.seguridad.sql.SQLTipoBitacora;

/**
 *
 * @author ejerez
 */
public class TipoBitacoraControlador extends ControladorAbstract {

    public void insert(TipoBitacora tb) throws Exception {
        try {
            super.setPreparedStatement(SQLTipoBitacora.insert);
            super.ps.setString(1, tb.getNombre_tb());
            super.ps.setString(2, tb.getDescripcion_tb());
            super.ps.setString(3, super.v.getEstado(tb.getEstado_filtro_tb()));
            super.ps.executeUpdate();
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    public void update(TipoBitacora tb) throws Exception {
        try {
            super.setPreparedStatement(SQLTipoBitacora.update);
            super.ps.setString(1, tb.getNombre_tb());
            super.ps.setString(2, tb.getDescripcion_tb());
            super.ps.setString(3, super.v.getEstado(tb.getEstado_filtro_tb()));
            super.ps.setInt(4, tb.getCodigo_tb());
            super.ps.executeUpdate();
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    public List<TipoBitacora> getTipoBitacoras() throws Exception {
        List<TipoBitacora> lista = new ArrayList<TipoBitacora>();
        try {
            this.getExecuteQuery(SQLTipoBitacora.getTipoBitacora);
            while (super.rs.next()) {
                lista.add(this.getTipoBitacora(super.rs));
            }
            return lista;
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    public List<TipoBitacora> getTipoBitacorasActivos() throws Exception {
        List<TipoBitacora> lista = new ArrayList<TipoBitacora>();
        try {
            this.getExecuteQuery(SQLTipoBitacora.getTipoBitacoraActivos);
            while (super.rs.next()) {
                lista.add(this.getTipoBitacora(super.rs));
            }
            return lista;
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            super.setCloseConexion();
        }
    }

    private TipoBitacora getTipoBitacora(ResultSet rs) throws Exception {
        try {
            TipoBitacora tb = new TipoBitacora();
            tb.setCodigo_tb(rs.getInt("codigo_tb"));
            tb.setNombre_tb(rs.getString("nombre_tb"));
            tb.setDescripcion_tb(rs.getString("descripcion_tb"));
            tb.setEstado_tb(rs.getString("estado_tb"));
            tb.setEstado_filtro_tb(v.getEstado(rs.getString("estado_tb")));
            return tb;
        } catch (Exception e) {
            throw new Exception(e);
        }
    }
}
